<template>
    <div>
        <h1>人员列表</h1>
        <h3 style="color:red">Count组件的和是：{{sum}}</h3>
        <h3>列表中第一个人的名字是：{{firstPersonName}}</h3>
        <input type="text" placeholder="请输入姓名" v-model="name">
        <button @click="addPerson">添加</button>
        <button @click="addPersonLao">添加一个姓老的人</button>
        <button @click="addPersonServer">添加一个人，名字随机</button>
        <ul>
            <li v-for="person in  personList" :key="person.id">{{person.name}}</li>
        </ul>
    </div>
</template>

<script>
// 生成随机id
import { nanoid } from 'nanoid';

    export default {
        name:'Person',
        data(){
            return{
                name:'',
            }
        },
        computed:{
            personList(){
                return this.$store.state.personAbout.personList;
            },
            sum(){
                return this.$store.state.countAbout.sum;
            },
            firstPersonName(){
                return this.$store.getters['personAbout/firstPersonName']
            }
        },
        methods:{
            addPerson(){
                const person = {id:nanoid(),name:this.name}
                this.$store.commit('personAbout/ADD_PERSON',person)
                this.name = ''
            },
            addPersonLao(){
                const person = {id:nanoid(),name:this.name}
                this.$store.dispatch('personAbout/addPersonLao',person)
                this.name = ''
            },
            // 添加一个随机名字
            addPersonServer(){
                this.$store.dispatch('personAbout/personServer');
            }
        },
        mounted(){
            console.log(this.$store);
        }

    }
</script>

<style>

</style>